home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1988-10-06 | 5.2 KB | 125 lines
100 '********************************* 102 '* "U.S. STATES & CAPITALS-40" * 104 '* Copyright 1983 A. Bartorillo * 106 '********************************* 108 ' 110 SCREEN 0,1,0:WIDTH 40:LOCATE 1,1,0:COLOR 14,1:CLS 112 KEY OFF:FOR I=1 TO 10:KEY I,"":NEXT 114 DEFINT A-Z:DIM A$(50),B$(50),S$(4) 116 RANDOMIZE (VAL(RIGHT$(TIME$,2))*VAL(MID$(TIME$,4,2))) 118 RESTORE 284:FOR I=1 TO 50:READ A$(I):NEXT:FOR I=1 TO 50:READ B$(I):NEXT 120 '***** Program menu ***** 122 LOCATE 1,9:COLOR 15,12:PRINT" U.S. STATES & CAPITALS ":COLOR 14,1 124 LOCATE 8,2:COLOR 0,3 126 PRINT" Indicate which type of quiz you want ":COLOR 14,9 128 LOCATE 12,10:PRINT"<1> True And False" 130 LOCATE 14,10:PRINT"<2> Multiple Choice" 132 LOCATE 16,10:PRINT"<3> Fill In The Blank" 134 LOCATE 20,13:COLOR 16,2:PRINT" ENTER CHOICE ":COLOR 14,1 136 S$=INKEY$:IF S$="" OR S$<"1" OR S$>"3" THEN 136 138 ON VAL(S$) GOTO 142,188,238 140 '***** True/False type quiz ***** 142 CLS:TOTAL=0:TOTAL1=0 144 K=INT(RND(1)*50)+1:IF A$(K)="" THEN 144 146 IF RND(1)>0.5 THEN Z1$=B$(K):Z2$=A$(K):TF=1:GOTO 152 148 TF=0:K1=INT(RND(1)*50)+1:IF A$(K1)="" OR K=K1 THEN 148 150 Z1$=B$(K):Z2$=A$(K1) 152 LOCATE 8,1:COLOR 15:PRINT Z1$:COLOR 14:PRINT"is the capital of":COLOR 15:PRINT Z2$:COLOR 14 154 LOCATE 13,10:PRINT"<T> = True" 156 LOCATE 14,10:PRINT"<F> = False" 158 TF$=INKEY$:IF TF$="" OR (TF$<>"t" AND TF$<>"T" AND TF$<>"f" AND TF$<>"F") THEN 158 160 IF TF$="t" OR TF$="T" THEN TF1=1 ELSE TF1=0 162 LOCATE 16,10:IF TF1=0 THEN PRINT"You selected: False" ELSE PRINT" You selected: True" 164 COLOR 15,4:IF TF1=TF THEN LOCATE 18,16:PRINT" CORRECT " 166 IF TF1<>TF THEN LOCATE 18,15:PRINT" INCORRECT " 168 COLOR 14,1:IF TF1<>TF OR (TF1=TF AND TF=0) THEN LOCATE 20,1:COLOR 15:PRINT B$(K):COLOR 14:PRINT"is the capital of":COLOR 15:PRINT A$(K):COLOR 14 170 A$(K)="":TOTAL=TOTAL+1:IF TF1=TF THEN TOTAL1=TOTAL1+1 172 COLOR 10:LOCATE 2,1:PRINT"Total quizzed ="TOTAL 174 LOCATE 3,1:PRINT"Total correct ="TOTAL1"..... "; 176 PRINT USING"###";100*TOTAL1/TOTAL;:PRINT"%" 178 COLOR 14:IF TOTAL=50 THEN 280 180 LOCATE 24,1:COLOR 0,2:PRINT" Hit any key for new selection (X=Esc) ";:COLOR 14,1 182 Z$=INKEY$:IF Z$="" THEN 182 184 CLS:IF Z$="x" OR Z$="X" THEN 118 ELSE 144 186 '** Multiple choice type quiz ** 188 CLS:TOTAL1=0:TOTAL2=0 190 K=INT(RND(1)*50)+1:IF A$(K)="" THEN 190 192 M1=INT(RND(1)*50)+1:IF M1=K THEN 192 194 M2=INT(RND(1)*50)+1:IF M2=K OR M1=M2 THEN 192 196 M3=INT(RND(1)*50)+1:IF M3=K OR M3=M1 OR M3=M2 THEN 192 198 FLAG2=INT(RND(1)*4)+1:ON FLAG2 GOSUB 200,202,204,206:GOTO 208 200 S$(1)=B$(K):S$(2)=B$(M1):S$(3)=B$(M2):S$(4)=B$(M3):RETURN 202 S$(2)=B$(K):S$(3)=B$(M1):S$(4)=B$(M2):S$(1)=B$(M3):RETURN 204 S$(3)=B$(K):S$(4)=B$(M1):S$(1)=B$(M2):S$(2)=B$(M3):RETURN 206 S$(4)=B$(K):S$(1)=B$(M1):S$(2)=B$(M2):S$(3)=B$(M3):RETURN 208 LOCATE 8,20:PRINT"What is the capital of":COLOR 15:PRINT A$(K):COLOR 14 210 FOR I=1 TO 4:LOCATE 11+I,15:PRINT"<";MID$(STR$(I),2)"> ";S$(I):NEXT 212 A$=INKEY$:IF A$="" OR A$<"1" OR A$>"4" THEN 212 ELSE A=VAL(A$) 214 COLOR 15,4:IF A=FLAG2 THEN LOCATE 18,16:PRINT" CORRECT " 216 IF A<>FLAG2 THEN LOCATE 18,15:PRINT" INCORRECT " 218 COLOR 14,1:IF A<>FLAG2 THEN LOCATE 20,1:COLOR 15:PRINT B$(K):COLOR 14,1:PRINT"is the capital of":COLOR 15:PRINT A$(K):COLOR 14 220 A$(K)="":TOTAL=TOTAL+1:IF A=FLAG2 THEN TOTAL1=TOTAL1+1 222 COLOR 10:LOCATE 2,1:PRINT"Total quizzed ="TOTAL 224 LOCATE 3,1:PRINT"Total correct ="TOTAL1"..... "; 226 PRINT USING"###";100*TOTAL1/TOTAL;:PRINT"%" 228 COLOR 14,1:IF TOTAL=50 THEN 280 230 LOCATE 24,1:COLOR 0,2:PRINT" Hit any key for new selection (X=Esc) ";:COLOR 14,1 232 Z$=INKEY$:IF Z$="" THEN 232 234 CLS:IF Z$="x" OR Z$="X" THEN 118 ELSE 190 236 '** Fill in the blank type quiz ** 238 CLS:TOTAL=0:TOTAL1=0 240 K=INT(RND(1)*50)+1:IF A$(K)="" THEN 240 242 FLAG1=0:IF RND(1)>0.5 THEN FLAG1=1 244 IF FLAG1=0 THEN Z1$=A$(K) ELSE Z1$=B$(K) 246 FOR I=1 TO LEN(Z1$):IF ASC(MID$(Z1$,I,1))>90 THEN MID$(Z1$,I,1)=CHR$(ASC(MID$(Z1$,I,1))-32) 248 NEXT:LOCATE 11,1 250 IF FLAG1=0 THEN COLOR 15:PRINT B$(K):COLOR 14:PRINT"is the Capital of what State?" ELSE PRINT"What is the capital of":COLOR 15:PRINT A$(K):COLOR 14 252 LOCATE 15,1:COLOR 15:LINE INPUT Z2$:COLOR 14 254 FOR I=1 TO LEN(Z2$):IF ASC(MID$(Z2$,I,1))>90 THEN MID$(Z2$,I,1)=CHR$(ASC(MID$(Z2$,I,1))-32) 256 NEXT 258 COLOR 15,4:IF Z1$=Z2$ THEN LOCATE 18,16:PRINT" CORRECT " 260 IF Z1$<>Z2$ THEN LOCATE 18,15:PRINT" INCORRECT " 262 COLOR 14,1:IF Z1$<>Z2$ THEN LOCATE 20,1:COLOR 15:PRINT B$(K):COLOR 14:PRINT"is the capital of":COLOR 15:PRINT A$(K):COLOR 14 264 A$(K)="":TOTAL=TOTAL+1:IF Z1$=Z2$ THEN TOTAL1=TOTAL1+1 266 COLOR 10:LOCATE 2,1:PRINT"Total quizzed ="TOTAL 268 LOCATE 3,1:PRINT"Total correct ="TOTAL1"..... "; 270 PRINT USING"###";100*TOTAL1/TOTAL;:PRINT"%" 272 COLOR 14:IF TOTAL=50 THEN 280 274 LOCATE 24,1:COLOR 0,2:PRINT" Hit any key for new selection (X=Esc) ";:COLOR 14,1 276 Z$=INKEY$:IF Z$="" THEN 276 278 CLS:IF Z$="x" OR Z$="X" THEN 118 ELSE 240 280 LOCATE 24,1:COLOR 0,2:PRINT" You have been quizzed on all available";:LOCATE 25,1:PRINT" selections-hit any key for the menu ";:COLOR 14,1 282 IF INKEY$="" THEN 282 ELSE CLS:GOTO 118 284 ' ***** 50 U.S. States ***** 286 DATA South Carolina,Georgia,Florida 288 DATA Kentucky,Tennessee,Alabama 290 DATA Mississippi,Arkansas,Louisiana 292 DATA Oklahoma,Texas,Montana,Idaho 294 DATA Wyoming,Colorado,New Mexico 296 DATA Arizona,Utah,Nevada,Washington 298 DATA Oregon,California,Maine 300 DATA Massachusetts,New Hampshire,Vermont 302 DATA Rhode Island,Connecticut,New York 304 DATA New Jersey, Pennsylvania,Ohio 306 DATA Indiana,Illinois,Michigan,Wisconsin 308 DATA Minnesota,Iowa,Missouri,North Dakota 310 DATA South Dakota,Nebraska,Kansas,Delaware 312 DATA Maryland,Virginia,West Virginia 314 DATA North Carolina,Alaska,Hawaii 316 ' ***** 50 U.S. Capitals ***** 318 DATA Columbia,Atlanta,Tallahassee 320 DATA Frankfort,Nashville,Montgomery 322 DATA Jackson,Little Rock,Baton Rouge 324 DATA Oklahoma City,Austin,Helena,Boise 326 DATA Cheyenne,Denver,Santa Fe,Phoenix 328 DATA Salt Lake City,Carson City,Olympia 330 DATA Salem,Sacramento,Augusta,Boston 332 DATA Concord,Montpelier,Providence 334 DATA Hartford,Albany,Trenton,Harrisburg 336 DATA Columbus,Indianapolis,Springfield 338 DATA Lansing,Madison,St. Paul,Des Moines 340 DATA Jefferson City,Bismarck,Pierre 342 DATA Lincoln,Topeka,Dover,Annapolis 344 DATA Richmond,Charleston,Raleigh 346 DATA Juneau,Honolulu